7
תגובות
נגיד יש את הפקודה הבאה:
עכשיו, אני רוצה שהפונקצייה function תעבוד על כל הפריטים המוחלפים,
לדוגמה אם הפטרן היה על כל המילים שמתחילות באות A , אז אני רוצה שעל כל המילים האלה תופעל הפונקציה X.
איך אני עושה את זה?
preg_replace($pattern,function,$string)
עכשיו, אני רוצה שהפונקצייה function תעבוד על כל הפריטים המוחלפים,
לדוגמה אם הפטרן היה על כל המילים שמתחילות באות A , אז אני רוצה שעל כל המילים האלה תופעל הפונקציה X.
איך אני עושה את זה?
7 תשובות
תאכסן את הפונקציה בתוך משתנה.
תקרא קצת על על פונקציות אנונימיות.
זה תלוי... זה תמיד יהיה פונקציה מובנית, או שזה יכול להיות גם וגם?
עריכה: רגע, פספסתי משהו בשאלה שלך. תכף אתקן.
מה שאני רוצה לעשות זה להשתמש בפונקצייה מובנית והיא תפעל על הביטויים , השאלה האם לאכסן גם אותה בתוך משתנה?
לעשות כאילו :
[/php] preg_replace($pattern, function($arg) { myfunction } , $string)[php]
?
במקרה הזה אתה לא יכול להשתמש ב-preg_match, אתה צריך preg_replace_callback. בפרמטר השני תשים פונקציה אנונימית שתעשה את מה שתעשה, ואז תחזיר את מחרוזת ה-replace.
לפי הדוגמאות ומה שהבנתי, אני עושה אותו דבר רק שם את הפונקציה בסוגריים
preg_replace_callback($pattern, 'myfunction' , $string)
הבנתי נכון ?